This description relates to processing of data records.
In a typical database, for example, each record contains values for each attribute or field in a set of fields. For example, an address list database could have name, street number, street name, city, state, and zip code fields (or attributes). Each record would hold the name and address of one person and could (but need not) include values for all of the fields. One record could be for John Jones and include a street number (37) and street name (Portland Street) but no values for other fields.
There are many other contexts in which data may be organized in records that share common attributes and hold values for some or all of those attributes. For example, messages sent on communication channels may each include a header, an addressee, a body, and other fields of data. Each message may be thought of as a record. Streams of such messages and other streams of records need not be organized as formal databases or even as unified files. Yet, they contain what are in effect records that share common attributes and that each include values for some of the attributes.
Typically, the records of a database or other data organized in groups are created, managed, used, displayed, altered, and removed using software for which the format and organization of the records are native. For example, a Microsoft Access database has a file format that is native to Microsoft Access and includes both the raw data (the values of the attributes) and information (metadata) about the formatting and other aspects of the data.
The raw data comprising a set of records may be represented as a stream of characters, one record after another, with values of the fields included in the stream. Typically there is some way to delineate the end of one record and the start of the next record. All of the records may have the same length, for example, or a character such as a comma or a pipe may be inserted into the stream between each pair of records. Within each record the values of the fields may also be distinguished from one another based on length or a separation character or in some other way.
The data in the records may be part of a formal file that also includes metadata about the records. The formal file can be opened and manipulated by the software for which it is native. In some cases, software programs can also import files and data having formats that are not native to the program, convert them to a file of native format, and manipulate, search, and display the records. Some programs can also export files of data records in non-native formats.
Typical common functions of database software are sorting, filtering, and searching for records. Databases may contain millions and even billions of records. Searching is typically done either by hard-coding search strategies or using a query language such as SQL. Sorting and filtering use algorithms to process sometimes large numbers of records.
The user interfaces of ordinary database software enable users to view the records, fields, and values of the database and the results of sorting, filtering, and searching in predefined ways.